home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 1999 May / maximum-cd-1999-05.iso / Canvas 6 / DATA1.CAB / English_Tutorial_Files / Viewpage / ColadaDoc.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-11-04  |  4.4 KB  |  211 lines

  1. import java.awt.Color;
  2. import java.io.DataInputStream;
  3. import java.io.IOException;
  4. import java.io.InputStream;
  5. import java.net.URL;
  6.  
  7. public final class ColadaDoc implements Runnable {
  8.    protected ColObjIntr m_drwLstHead;
  9.    protected ColObjIntr m_drwLstTail;
  10.    public ColObjIntr m_urlLstHead;
  11.    public ColObjIntr m_urlLstTail;
  12.    public ColGrph m_colGraphicObj;
  13.    public DataInputStream m_hostStream;
  14.    private byte[] m_tag = new byte[32];
  15.    private byte m_version;
  16.    private int m_fileSize;
  17.    private byte m_reserved1;
  18.    private int m_numElms;
  19.    private int m_reserved3;
  20.  
  21.    public ColObjIntr ReadNextObj(DataInputStream var1) throws IOException {
  22.       short var3 = var1.readByte();
  23.       int var4 = var1.readInt();
  24.       int var5 = var1.readInt();
  25.       Object var2;
  26.       switch (var3) {
  27.          case 1:
  28.          case 2:
  29.             var2 = (ColObjIntr)(new ColPoly(var1, var3, var4, this.m_colGraphicObj, this.m_colGraphicObj.m_graphicsBuffer));
  30.             break;
  31.          case 3:
  32.          case 4:
  33.             var2 = (ColObjIntr)(new ColBez(var1, var3, var4, this.m_colGraphicObj, this.m_colGraphicObj.m_graphicsBuffer));
  34.             break;
  35.          case 5:
  36.             var2 = (ColObjIntr)(new ColTxt(var1, var4, this.m_colGraphicObj, this.m_colGraphicObj.m_graphicsBuffer));
  37.             break;
  38.          case 6:
  39.             var2 = (ColObjIntr)(new ColImg(var1, this.m_colGraphicObj, this.m_colGraphicObj.m_graphicsBuffer));
  40.             break;
  41.          case 7:
  42.             var2 = new ColUrl(var1, this.m_colGraphicObj, this.m_colGraphicObj.m_graphicsBuffer);
  43.             break;
  44.          case 11:
  45.             var2 = (ColObjIntr)(new ColDisjnt(var1, var3, var4, this.m_colGraphicObj, this.m_colGraphicObj.m_graphicsBuffer));
  46.             break;
  47.          case 12:
  48.             var2 = (ColObjIntr)(new ColTxtFnt(var1, var4, this.m_colGraphicObj, this.m_colGraphicObj.m_graphicsBuffer));
  49.             break;
  50.          case 13:
  51.             var2 = (ColObjIntr)(new ColButton(var1, var4, this.m_colGraphicObj, this.m_colGraphicObj.m_graphicsBuffer));
  52.             break;
  53.          case 14:
  54.             var2 = (ColObjIntr)(new ColMedia(var1, var4, this.m_colGraphicObj, this.m_colGraphicObj.m_graphicsBuffer));
  55.             ++this.m_colGraphicObj.m_appComp.numMediaObjs;
  56.             break;
  57.          case 15:
  58.             var2 = (ColObjIntr)(new ColLayer());
  59.             ++this.m_colGraphicObj.m_appComp.numlayers;
  60.             this.m_colGraphicObj.m_appComp.layerFlags = this.m_colGraphicObj.m_appComp.layerFlags + "V";
  61.             break;
  62.          case 16:
  63.             var2 = (ColObjIntr)(new ColSnd(var1, this.m_colGraphicObj, this.m_colGraphicObj.m_graphicsBuffer));
  64.             break;
  65.          case 255:
  66.          default:
  67.             var2 = null;
  68.             this.m_colGraphicObj.m_appComp.m_colUpdtEnable = true;
  69.             this.finish();
  70.       }
  71.  
  72.       do {
  73.          while(this.m_colGraphicObj.m_appComp.m_stopCalled) {
  74.          }
  75.       } while(this.m_colGraphicObj.m_appComp.m_breakDrawAll);
  76.  
  77.       return (ColObjIntr)var2;
  78.    }
  79.  
  80.    public void finalize() {
  81.       try {
  82.          ColObjIntr var1 = this.m_drwLstHead;
  83.  
  84.          Object var2;
  85.          ColObjIntr var3;
  86.          for(var3 = this.m_urlLstHead; var1 != null; var2 = null) {
  87.             var1 = var1.getNext();
  88.          }
  89.  
  90.          while(var3 != null) {
  91.             var3 = var3.getNext();
  92.             Object var4 = null;
  93.          }
  94.  
  95.          this.m_drwLstHead = null;
  96.          this.m_drwLstTail = null;
  97.          this.m_urlLstHead = null;
  98.          this.m_urlLstTail = null;
  99.          this.m_hostStream = null;
  100.          this.m_colGraphicObj.finalize();
  101.          this.m_colGraphicObj = null;
  102.       } catch (Exception var5) {
  103.       }
  104.    }
  105.  
  106.    public void run() {
  107.       Object var1 = null;
  108.  
  109.       try {
  110.          this.m_hostStream.readFully(this.m_tag);
  111.          this.m_version = this.m_hostStream.readByte();
  112.          float var10000 = (float)this.m_hostStream.readShort() + (float)this.m_hostStream.readShort() / 65536.0F;
  113.          var10000 = (float)this.m_hostStream.readShort() + (float)this.m_hostStream.readShort() / 65536.0F;
  114.          this.m_fileSize = this.m_hostStream.readInt();
  115.       } catch (Exception var11) {
  116.          this.m_colGraphicObj.m_appComp.showStatus("Error: " + "(run 1815 Coldoc " + ((Throwable)var11).getMessage() + " occured while Downloading.");
  117.       }
  118.  
  119.       int var2 = 255;
  120.       int var3 = 255;
  121.       int var4 = 255;
  122.  
  123.       try {
  124.          var2 = this.m_hostStream.readUnsignedByte();
  125.          var3 = this.m_hostStream.readUnsignedByte();
  126.          var4 = this.m_hostStream.readUnsignedByte();
  127.       } catch (Exception var10) {
  128.          this.m_colGraphicObj.m_appComp.showStatus("Error: " + "(run 1833 Coldoc " + ((Throwable)var10).getMessage() + " occured while Downloading.");
  129.       }
  130.  
  131.       this.m_colGraphicObj.m_bkGrndClr = new Color(var2, var3, var4);
  132.       this.m_colGraphicObj.m_appComp.repaint();
  133.  
  134.       try {
  135.          this.m_reserved1 = this.m_hostStream.readByte();
  136.          this.m_numElms = this.m_hostStream.readInt();
  137.          this.m_reserved3 = this.m_hostStream.readInt();
  138.       } catch (Exception var9) {
  139.          this.m_colGraphicObj.m_appComp.showStatus("Error: " + "(run 1848 Coldoc " + ((Throwable)var9).getMessage() + " occured while Downloading.");
  140.       }
  141.  
  142.       int var5 = 0;
  143.  
  144.       do {
  145.          var12 = null;
  146.  
  147.          try {
  148.             this.m_colGraphicObj.m_appComp.showStatus("Reading object  " + var5 + " of " + this.m_numElms);
  149.             var12 = this.ReadNextObj(this.m_hostStream);
  150.             Thread.currentThread();
  151.             Thread.yield();
  152.          } catch (Exception var8) {
  153.             this.m_colGraphicObj.m_appComp.showStatus("Error: " + "(run 1864 Coldoc " + ((Throwable)var8).getMessage() + " occured while Downloading.");
  154.          }
  155.  
  156.          ++var5;
  157.          if (var12 != null) {
  158.             if (var12.getType() == 7) {
  159.                var12.setNext((ColObjIntr)null);
  160.                if (this.m_urlLstHead != null) {
  161.                   var12.setPrev(this.m_urlLstTail);
  162.                   this.m_urlLstTail.setNext(var12);
  163.                   this.m_urlLstTail = var12;
  164.                } else {
  165.                   this.m_urlLstHead = var12;
  166.                   this.m_urlLstTail = var12;
  167.                   var12.setPrev((ColObjIntr)null);
  168.                }
  169.             } else {
  170.                this.m_colGraphicObj.m_appComp.m_urlLstDone = true;
  171.                var12.setNext((ColObjIntr)null);
  172.                if (this.m_drwLstHead != null) {
  173.                   var12.setPrev(this.m_drwLstTail);
  174.                   this.m_drwLstTail.setNext(var12);
  175.                   this.m_drwLstTail = var12;
  176.                } else {
  177.                   this.m_drwLstHead = var12;
  178.                   this.m_colGraphicObj.m_curObj = this.m_drwLstHead;
  179.                   this.m_drwLstTail = var12;
  180.                   var12.setPrev((ColObjIntr)null);
  181.                }
  182.             }
  183.  
  184.             if (this.m_colGraphicObj.m_appComp.firstDrawDone) {
  185.                var12.draw(this.m_colGraphicObj.m_graphicsBuffer);
  186.             }
  187.          }
  188.       } while(var12 != null);
  189.  
  190.    }
  191.  
  192.    public void finish() throws IOException {
  193.       this.m_colGraphicObj.m_appComp.m_colDocDone = true;
  194.       this.m_colGraphicObj.m_curURL = (ColUrl)this.m_urlLstHead;
  195.       this.m_colGraphicObj.m_curObj = this.m_drwLstHead;
  196.       this.m_colGraphicObj.m_appComp.showStatus("Done");
  197.       this.m_hostStream.close();
  198.    }
  199.  
  200.    ColadaDoc(Colada var1, URL var2) {
  201.       this.m_colGraphicObj = new ColGrph(var1);
  202.  
  203.       try {
  204.          InputStream var3 = var2.openStream();
  205.          this.m_hostStream = new DataInputStream(var3);
  206.       } catch (Exception var5) {
  207.          this.m_colGraphicObj.m_appComp.showStatus("Error: " + "Opening Stream " + ((Throwable)var5).getMessage() + " occured while Downloading.");
  208.       }
  209.    }
  210. }
  211.